package com.easygem.common.model.front;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.wuwenze.poi.annotation.Excel;
import com.wuwenze.poi.annotation.ExcelField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.*;
import java.sql.Timestamp;
import java.util.List;

/**
 * @author 何维佳
 * @version 1.0
 * @className HighSeasClientVO
 * @Description 公海
 * @date 2024/12/23 14:33
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("")
@Table(name = "`high_seas_client`")
@Excel("公海")
public class HighSeasClient {
    @Id
    @Column(name = "`highSeasClientId`")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer highSeasClientId;

    @Column(name = "`resourceId`")
    @ApiModelProperty("")
    private Long resourceId;

    @Column(name = "`createTime`")
    @ApiModelProperty("")
    @JsonFormat(timezone = "GMT+",pattern = "yyyy-MM-dd HH:mm:ss")
    private Timestamp createTime;


    //客户名称
    @TableField(exist = false)
    @ExcelField(value = "客户名称", width = 150) //导出字段名
    private transient  String resourceName;

    //联系人
    @TableField(exist = false)
    @ExcelField(value = "联系人", width = 150) //导出字段名
    private transient  String linkman;

    //客户类型ID
    @TableField(exist = false)
    private transient  Integer clientTypeId;

    //来源ID
    @TableField(exist = false)
    private transient  Integer sourceId;

    //行业类型ID
    @TableField(exist = false)
    private transient  Integer industryId;

    //归属人ID
    @TableField(exist = false)
    private transient  Long userId;

    @TableField(exist = false)
    private String accountName;


    //电话A
    @TableField(exist = false)
    @ExcelField(value = "电话A", width = 200) //导出字段名
    private transient String phoneA;

    //电话B
    @TableField(exist = false)
    @ExcelField(value = "电话B", width = 200) //导出字段名
    private transient String phoneB;

    //是否呼叫
    @TableField(exist = false)
    private transient Integer isCall;

    //是否呼叫
    @TableField(exist = false)
    @ExcelField(value = "是否呼叫", width = 50) //导出字段名
    private transient String isCallStr;

    //客户类型
    @TableField(exist = false)
    @ExcelField(value = "客户类型", width = 100) //导出字段名
    private transient String clientTypeOptions;

    //生命周期
    @TableField(exist = false)
    private transient Integer lifeCycle;

    //生命周期
    @TableField(exist = false)
    @ExcelField(value = "生命周期", width = 100) //导出字段名
    private transient String lifeCycleStr;

    //客户来源
    @TableField(exist = false)
    @ExcelField(value = "客户来源", width = 100) //导出字段名
    private transient String sourceOptions;

    //标签名
    @TableField(exist = false)
    private transient Integer resourceTag;

    //行业类别
    @TableField(exist = false)
    @ExcelField(value = "行业类型", width = 100) //导出字段名
    private transient String industryOptions;

    //归属人
    @TableField(exist = false)
    @ExcelField(value = "所属人", width = 100) //导出字段名
    private transient String userName;

    //创建人
    @TableField(exist = false)
    private transient Long createUserId;

    //创建人
    @TableField(exist = false)
    private transient String createUserName;

    //最后呼叫时间
    @TableField(exist = false)
    @ExcelField(value = "最后呼叫时间", width = 300) //导出字段名
    private transient String lastCallTime;

    //归属部门
    @TableField(exist = false)
    private transient List<Long> ids;

    @TableField(exist = false)
    private transient Integer time;       //时间选择

    @TableField(exist = false)
    private transient String startTime;     //结束时间
    @TableField(exist = false)
    private transient String endTime;       //开始时间

}
